package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 大订单对象 order
 * 
 * @author ruoyi
 * @date 2024-03-22
 */
public class Order extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单号 */
    private String id;

    /** 订单号父id */
    @Excel(name = "订单号父id")
    private Long parentId;

    /** 子订单数量 */
    @Excel(name = "子订单数量")
    private Long childrenNum;

    /** 用户编号 */
    @Excel(name = "用户编号")
    private String uid;

    /** 用户编号 */
    @Excel(name = "用户编号")
    private String accountNo;

    /** 标题 */
    @Excel(name = "标题")
    private String title;

    /** 订单号 (显示用) */
    @Excel(name = "订单号 (显示用)")
    private String orderNo;

    /** 购买商品件数 */
    @Excel(name = "购买商品件数")
    private Long goodsNum;

    /** 订单类型 1-微信小程序订单 2-线下订单 3-抖音小程序订单单 */
    @Excel(name = "订单类型 1-微信小程序订单 2-线下订单 3-抖音小程序订单单")
    private Integer orderType;

    /** 订单状态 -4-已退款 -3-退款中 -2-超时取消 -1-已取消 0-待支付 1-已支付 2-已发货 3-已完成 4拣货中 */
    @Excel(name = "订单状态 -4-已退款 -3-退款中 -2-超时取消 -1-已取消 0-待支付 1-已支付 2-已发货 3-已完成 4拣货中")
    private Long orderStatus;

    /** 订单异常状态 1-正常 2-已申请售后 */
    private Integer errorStatus;

    /** 商品总金额 */
    @Excel(name = "商品总金额")
    private Long goodsAmount;

    /** 订单总金额 */
    @Excel(name = "订单总金额")
    private Long orderAmount;

    /** 优惠券id */
    private String couponsId;

    /** 优惠券折扣金额 */
    @Excel(name = "优惠券折扣金额")
    private Long couponsFee;

    /** 优惠明细 */
    private String discountInfo;

    /** 应付金额 */
    @Excel(name = "应付金额")
    private Long payMoney;

    /** 2-支付宝 3-微信 */
    private Long payType;

    /** 支付单号 */
    private String payId;

    /** 1-存入院余 2-配送 3-自提 4-存入券余 */
    private Integer shippingType;

    /** 配送时间 */
    @Excel(name = "配送时间")
    private Long shippingTime;

    /** 配送地址(json) */
    @Excel(name = "配送地址(json)")
    private String address;

    /** 用户备注 */
    private String userMsg;

    /** 运费 */
    private Long exFee;

    /** 物流名称 */
    private String exName;

    /** 物流编号 */
    private String exId;

    /** 发货时间 */
    private Date exTime;

    /** * 1-全额退款 2-部分商品退款 */
    private Integer refundType;

    /** 退款金额 */
    private Long refundMoney;

    /** 退款备注 */
    private String refundMsg;

    /** 退款申请时间 */
    private Date refundApplyTime;

    /** 退款申请完成时间 */
    private Date refundFinishTime;

    /** 系统操作备注 */
    private String sysMsg;

    /** 订单错误原因 */
    private String errorMsg;

    /** 订单来源 */
    @Excel(name = "订单来源")
    private String orderFrom;

    /** 订单阶段 1-回调完成 */
    private Integer orderStep;

    /** 支付成功时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "支付成功时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paySuccTime;

    /** 订单完成时间 */
    private Date finishTime;

    /** 订单扩展 */
    @Excel(name = "订单扩展")
    private String extend;

    /** 供应商id */
    @Excel(name = "供应商id")
    private Long supplierId;

    /** 活动明细 */
    private String actExtend;

    /** 购买时选择的顾问工号 0=门店默认选择 */
    private String empNo;

    /** 微信现金支付金额 （商户代金券时会有） */
    private Long cashFee;

    /** 客户会员卡等级 */
    private String customerCardLevel;

    /** 客户会员卡号 */
    private String customerCardNo;

    /** 商户券优惠金额 */
    private Long storeCouponsFee;

    /** 微信商户代金券名称 */
    private String storeCouponNames;

    /** 视频号-是否需要推单，1:需要，0:不需要 */
    private Integer isRequireOrder;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setParentId(Long parentId) 
    {
        this.parentId = parentId;
    }

    public Long getParentId() 
    {
        return parentId;
    }
    public void setChildrenNum(Long childrenNum) 
    {
        this.childrenNum = childrenNum;
    }

    public Long getChildrenNum() 
    {
        return childrenNum;
    }
    public void setUid(String uid) 
    {
        this.uid = uid;
    }

    public String getUid() 
    {
        return uid;
    }
    public void setAccountNo(String accountNo) 
    {
        this.accountNo = accountNo;
    }

    public String getAccountNo() 
    {
        return accountNo;
    }
    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }
    public void setOrderNo(String orderNo) 
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo() 
    {
        return orderNo;
    }
    public void setGoodsNum(Long goodsNum) 
    {
        this.goodsNum = goodsNum;
    }

    public Long getGoodsNum() 
    {
        return goodsNum;
    }
    public void setOrderType(Integer orderType) 
    {
        this.orderType = orderType;
    }

    public Integer getOrderType() 
    {
        return orderType;
    }
    public void setOrderStatus(Long orderStatus) 
    {
        this.orderStatus = orderStatus;
    }

    public Long getOrderStatus() 
    {
        return orderStatus;
    }
    public void setErrorStatus(Integer errorStatus) 
    {
        this.errorStatus = errorStatus;
    }

    public Integer getErrorStatus() 
    {
        return errorStatus;
    }
    public void setGoodsAmount(Long goodsAmount) 
    {
        this.goodsAmount = goodsAmount;
    }

    public Long getGoodsAmount() 
    {
        return goodsAmount;
    }
    public void setOrderAmount(Long orderAmount) 
    {
        this.orderAmount = orderAmount;
    }

    public Long getOrderAmount() 
    {
        return orderAmount;
    }
    public void setCouponsId(String couponsId) 
    {
        this.couponsId = couponsId;
    }

    public String getCouponsId() 
    {
        return couponsId;
    }
    public void setCouponsFee(Long couponsFee) 
    {
        this.couponsFee = couponsFee;
    }

    public Long getCouponsFee() 
    {
        return couponsFee;
    }
    public void setDiscountInfo(String discountInfo) 
    {
        this.discountInfo = discountInfo;
    }

    public String getDiscountInfo() 
    {
        return discountInfo;
    }
    public void setPayMoney(Long payMoney) 
    {
        this.payMoney = payMoney;
    }

    public Long getPayMoney() 
    {
        return payMoney;
    }
    public void setPayType(Long payType) 
    {
        this.payType = payType;
    }

    public Long getPayType() 
    {
        return payType;
    }
    public void setPayId(String payId) 
    {
        this.payId = payId;
    }

    public String getPayId() 
    {
        return payId;
    }
    public void setShippingType(Integer shippingType) 
    {
        this.shippingType = shippingType;
    }

    public Integer getShippingType() 
    {
        return shippingType;
    }
    public void setShippingTime(Long shippingTime) 
    {
        this.shippingTime = shippingTime;
    }

    public Long getShippingTime() 
    {
        return shippingTime;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setUserMsg(String userMsg) 
    {
        this.userMsg = userMsg;
    }

    public String getUserMsg() 
    {
        return userMsg;
    }
    public void setExFee(Long exFee) 
    {
        this.exFee = exFee;
    }

    public Long getExFee() 
    {
        return exFee;
    }
    public void setExName(String exName) 
    {
        this.exName = exName;
    }

    public String getExName() 
    {
        return exName;
    }
    public void setExId(String exId) 
    {
        this.exId = exId;
    }

    public String getExId() 
    {
        return exId;
    }
    public void setExTime(Date exTime) 
    {
        this.exTime = exTime;
    }

    public Date getExTime() 
    {
        return exTime;
    }
    public void setRefundType(Integer refundType) 
    {
        this.refundType = refundType;
    }

    public Integer getRefundType() 
    {
        return refundType;
    }
    public void setRefundMoney(Long refundMoney) 
    {
        this.refundMoney = refundMoney;
    }

    public Long getRefundMoney() 
    {
        return refundMoney;
    }
    public void setRefundMsg(String refundMsg) 
    {
        this.refundMsg = refundMsg;
    }

    public String getRefundMsg() 
    {
        return refundMsg;
    }
    public void setRefundApplyTime(Date refundApplyTime) 
    {
        this.refundApplyTime = refundApplyTime;
    }

    public Date getRefundApplyTime() 
    {
        return refundApplyTime;
    }
    public void setRefundFinishTime(Date refundFinishTime) 
    {
        this.refundFinishTime = refundFinishTime;
    }

    public Date getRefundFinishTime() 
    {
        return refundFinishTime;
    }
    public void setSysMsg(String sysMsg) 
    {
        this.sysMsg = sysMsg;
    }

    public String getSysMsg() 
    {
        return sysMsg;
    }
    public void setErrorMsg(String errorMsg) 
    {
        this.errorMsg = errorMsg;
    }

    public String getErrorMsg() 
    {
        return errorMsg;
    }
    public void setOrderFrom(String orderFrom) 
    {
        this.orderFrom = orderFrom;
    }

    public String getOrderFrom() 
    {
        return orderFrom;
    }
    public void setOrderStep(Integer orderStep) 
    {
        this.orderStep = orderStep;
    }

    public Integer getOrderStep() 
    {
        return orderStep;
    }
    public void setPaySuccTime(Date paySuccTime) 
    {
        this.paySuccTime = paySuccTime;
    }

    public Date getPaySuccTime() 
    {
        return paySuccTime;
    }
    public void setFinishTime(Date finishTime) 
    {
        this.finishTime = finishTime;
    }

    public Date getFinishTime() 
    {
        return finishTime;
    }
    public void setExtend(String extend) 
    {
        this.extend = extend;
    }

    public String getExtend() 
    {
        return extend;
    }
    public void setSupplierId(Long supplierId) 
    {
        this.supplierId = supplierId;
    }

    public Long getSupplierId() 
    {
        return supplierId;
    }
    public void setActExtend(String actExtend) 
    {
        this.actExtend = actExtend;
    }

    public String getActExtend() 
    {
        return actExtend;
    }
    public void setEmpNo(String empNo) 
    {
        this.empNo = empNo;
    }

    public String getEmpNo() 
    {
        return empNo;
    }
    public void setCashFee(Long cashFee) 
    {
        this.cashFee = cashFee;
    }

    public Long getCashFee() 
    {
        return cashFee;
    }
    public void setCustomerCardLevel(String customerCardLevel) 
    {
        this.customerCardLevel = customerCardLevel;
    }

    public String getCustomerCardLevel() 
    {
        return customerCardLevel;
    }
    public void setCustomerCardNo(String customerCardNo) 
    {
        this.customerCardNo = customerCardNo;
    }

    public String getCustomerCardNo() 
    {
        return customerCardNo;
    }
    public void setStoreCouponsFee(Long storeCouponsFee) 
    {
        this.storeCouponsFee = storeCouponsFee;
    }

    public Long getStoreCouponsFee() 
    {
        return storeCouponsFee;
    }
    public void setStoreCouponNames(String storeCouponNames) 
    {
        this.storeCouponNames = storeCouponNames;
    }

    public String getStoreCouponNames() 
    {
        return storeCouponNames;
    }
    public void setIsRequireOrder(Integer isRequireOrder) 
    {
        this.isRequireOrder = isRequireOrder;
    }

    public Integer getIsRequireOrder() 
    {
        return isRequireOrder;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("parentId", getParentId())
            .append("childrenNum", getChildrenNum())
            .append("uid", getUid())
            .append("accountNo", getAccountNo())
            .append("title", getTitle())
            .append("orderNo", getOrderNo())
            .append("goodsNum", getGoodsNum())
            .append("orderType", getOrderType())
            .append("orderStatus", getOrderStatus())
            .append("errorStatus", getErrorStatus())
            .append("goodsAmount", getGoodsAmount())
            .append("orderAmount", getOrderAmount())
            .append("couponsId", getCouponsId())
            .append("couponsFee", getCouponsFee())
            .append("discountInfo", getDiscountInfo())
            .append("payMoney", getPayMoney())
            .append("payType", getPayType())
            .append("payId", getPayId())
            .append("shippingType", getShippingType())
            .append("shippingTime", getShippingTime())
            .append("address", getAddress())
            .append("userMsg", getUserMsg())
            .append("exFee", getExFee())
            .append("exName", getExName())
            .append("exId", getExId())
            .append("exTime", getExTime())
            .append("refundType", getRefundType())
            .append("refundMoney", getRefundMoney())
            .append("refundMsg", getRefundMsg())
            .append("refundApplyTime", getRefundApplyTime())
            .append("refundFinishTime", getRefundFinishTime())
            .append("sysMsg", getSysMsg())
            .append("errorMsg", getErrorMsg())
            .append("orderFrom", getOrderFrom())
            .append("orderStep", getOrderStep())
            .append("paySuccTime", getPaySuccTime())
            .append("finishTime", getFinishTime())
            .append("extend", getExtend())
            .append("supplierId", getSupplierId())
            .append("actExtend", getActExtend())
            .append("empNo", getEmpNo())
            .append("cashFee", getCashFee())
            .append("customerCardLevel", getCustomerCardLevel())
            .append("customerCardNo", getCustomerCardNo())
            .append("storeCouponsFee", getStoreCouponsFee())
            .append("storeCouponNames", getStoreCouponNames())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("isRequireOrder", getIsRequireOrder())
            .toString();
    }
}
